package com.mysoft.gfyx.clue.service;


import com.mysoft.gfyx.clue.service.dto.OpptySubsCustomerDataDto;
import com.mysoft.gfyx.clue.service.dto.OpptySubsDto;
import com.mysoft.gfyx.clue.service.dto.OpptySubsPurchaseDataDto;
import com.mysoft.gfyx.clue.service.dto.SubsNameDto;
import com.mysoft.sdk.common.exception.BusinessLogicException;

import java.util.List;
import java.util.UUID;

/**
* 描述：Opptysubs 接口层
* @author JavaSdk generator
* @date 2022-07-07
*/
public interface OpptySubsService {
    public static final int SUBS_MAXIMUM = 5;
    // 订阅类型：枚举。0企业潜在机会；1采购公告信息
    public static final int SUBS_TYPE_CUSTOMER = 0;
    public static final int SUBS_TYPE_PURCHASE = 1;

    UUID saveOpptySubs(OpptySubsDto saveOpptySubsDto);
    List<SubsNameDto> getSubsNameList(Integer subsType);
    int getSubsCount();
    boolean enable(UUID opptySubsGUID, int enable);
    boolean delete(UUID opptySubsGUID) throws BusinessLogicException;
    OpptySubsDto getOne(UUID opptySubsGUID) throws BusinessLogicException;
    List<OpptySubsDto> getAllEnabledOpptySubs() throws BusinessLogicException;
    List<OpptySubsDto> getAllEnabledAndNextPushTimeIsNullOpptySubs(UUID opptySubsGUID) throws BusinessLogicException;

    List<OpptySubsDto> getAllInOneMinuteEnabledOpptySubs() throws BusinessLogicException;

    //保存商机订阅潜在客户数据
    UUID saveOpptySubsCustomerData(OpptySubsCustomerDataDto saveOpptySubsDto);
    UUID saveOpptySubsPurchaseData(OpptySubsPurchaseDataDto opptySubsPurchaseDataDto) throws Exception;

}

